package com.example.concurrency.thread01;

/**
 * @description: 同步线程的测试
 * @program: demos
 * @author: dove
 * @date: 2020-12-01 22:50
 **/

public class ThreadTest01Sync {
    /**
     * 执行结果：
     * i am singing
     * i am singing
     * i am singing
     * 永远不会有eating的出现。因为线程是同步的，第一个线程没有执行完毕，轮不到第二个线程执行。
     */
    public static void main(String[] args) {
        sing();
        eat();
    }

    public static void sing() {
        while (true){
            System.out.println("i am singing");
            try {
                Thread.sleep(1000L);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static void eat() {
        while (true){
            System.out.println("i am eating");
            try {
                Thread.sleep(1000L);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
